package bb.lanxing.lib.devices.sprint.model;

import android.content.Context;
import android.net.Uri;
import androidx.core.util.Pair;
import java.util.Map;
import rx.Subscriber;

public interface SprintFirmwareModel {
    public static final String FIRMWARE_STUFFIX = ".zip";
    public static final String KEY_FIRMWARE_DESC = "key_firmware_desc";
    public static final String KEY_FIRMWARE_URI = "key_firmware_url";
    public static final String KEY_FIRMWARE_VERSION = "key_firmware_version";

    String getFirmwareDir();

    Uri getFirmwareUri();

    String getFirmwareVersionDesc();

    String getFirmwareVersionName();

    void release();

    void requestFirmwareVersion(Context context);

    void subscribeClientNeedUpdate(Subscriber<Pair<Boolean, String>> subscriber);

    void subscribeFirmware(Subscriber<Map<String, String>> subscriber);
}
